With respect to portable terminals such as portable phones, the application of a virtualization technique enabling multiple operating systems (OS) to run on a single computing device is expected. If multiple OSs become operable on a single portable terminal by applying such a virtualization technique, a user carrying multiple portable terminals can integrate the functions of the portable terminals into a single portable terminal. The portable terminal switches among the multiple OSs to execute application software (hereinafter, “application”) executed by each of the OSs. The virtualization technique includes a method where a hypervisor that controls each of the OSs directly operates on hardware, and a method where a host OS first operates and a hypervisor works as one application on the host OS to operate other guest OSs.
Since multiple OSs are executed in one apparatus in this way, a portable terminal subject to the virtualization technique, executes a scheduling process that determines which OS is to be executed among the multiple OSs. In a technique disclosed as an OS scheduling technique, for example, OSs notify a hypervisor of the priority of each application executed by the OSs, whereby the priorities between the OSs are compared and an OS that executes an application with a higher priority is selected. A technique is also disclosed of setting priorities for interrupting processes of OSs and thereby set a priority of an OS as a priority corresponding to an interruption (see, for example, Japanese Laid-Open Patent Publication Nos. 2000-347883 and 2009-176139).
For a host-OS type hypervisor, a technique is disclosed of classifying applications executed on a host as prioritized applications and non-prioritized applications, where non-prioritized applications are given the same priority and the hypervisor enables the prioritized applications to be preferentially executed. A technique is also disclosed for ensuring a common communication region between a hypervisor and a virtual machine (virtual computing device) of a virtualization technique to eliminate transfer of control between the hypervisor and the virtual machine, thereby making processes more efficient (see, e.g., Japanese Laid-Open Patent Publication Nos. S59-058553 and 2006-18820).
The priorities of applications of OSs may not comply with a unified standard. Consequently, for such a case, a technique has been disclosed in which a hypervisor normalizes priorities of OSs into common comparable priorities and compares the priorities among the OSs (see, e.g., Japanese Laid-Open Patent Publication No. 2000-242512).
However, in the conventional techniques described above, a hypervisor uses priorities supplied from OSs to execute the scheduling of the OSs. Although the priorities supplied from OSs enable efficient operation of applications executed by individual OSs, it is difficult to efficiently operate applications running on an apparatus as a whole.